#pragma once

#pragma managed

#include "Enum\BuildType.h"
#include "BuildEvent.h"
#include "BuildState.h"

using namespace System;
using namespace System::Collections::Generic;
using namespace BroodWar;

namespace BroodWar
{
	namespace Addon
	{
		public interface class IBuildEventTimeline : public IEnumerable<Tuple<int, BuildEvent^>^>
		{
			void Initialize();
			void Draw();
			void DrawLarvaCounts();
			void AddEvent(int time, BuildEvent^ e);
			void Reset();
			property BuildState^ InitialState { BuildState^ get(); void set(BuildState^ value); }
		};
	}
}
